﻿using System;

namespace Teigha.Core
{
	public class OdEdFunctionIO_Internal : OdEdFunctionIO
	{
		public OdEdFunctionIO_Internal(IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
		{
		}

		public override void setParam(OdRxObject pParamObj)
		{
			GlobalsPINVOKE.OdEdFunctionIO_setParam(OdEdFunctionIO.getCPtr(this), OdRxObject.getCPtr(pParamObj));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override OdRxObject param()
		{
			IntPtr cPtr = GlobalsPINVOKE.OdEdFunctionIO_param(OdEdFunctionIO.getCPtr(this));
			OdRxObject result = new OdRxObject(cPtr, false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public override void setResult(OdRxObject pResultObj)
		{
			GlobalsPINVOKE.OdEdFunctionIO_setResult(OdEdFunctionIO.getCPtr(this), OdRxObject.getCPtr(pResultObj));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public override OdRxObject result()
		{
			IntPtr cPtr = GlobalsPINVOKE.OdEdFunctionIO_result(OdEdFunctionIO.getCPtr(this));
			OdRxObject result = new OdRxObject(cPtr, false);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}
	}
}
